00000100 $. SINGLE NEW MARK LIST LISTP                                                    
00000200 $. SET OUT                                                                       
00000300 $# PATCH 006 CORRECT BUGS IN READ(STRING), FORCE NEW FILE ON REWRITE             
00000400  $VERSION 30.006                                                        90000100 
00000500    ELSE BEGIN F.MYUSE:=VALUE(OUT); F.NEWFILE:=TRUE;                     91804000 
00000600               FILESTATUS:=WRITEBUSY; END;                               91804010 
00000700 $SET VOIDT                                                              91965999 
00000800 $POP VOIDT                                                              91969001 
00000900                 B:=MIN(STRINGLENGTH,MAX(0,BYTESLEFT));                  91970000 
00001000                 IF(B=0) THEN BYTESLEFT:=-1;                             91977100 
00001100 $# PATCH 018 FIX BUG WHEN READING INTO PACKED ARRAY OF SUBRANGE OF CHAR          
00001200  $VERSION 30.018                                                        90000100 
00001300 DEFINE  CHARSIZE = ((REAL(ITEMPTR).[42:3])*2-1)#;                       91844100 
00001400           IF RANGECHECK THEN BEGIN                                      92051103 
00001500             REPLACE ITEMPTR BY (VAL-LOWBOUND).[CHARSIZE:48] FOR 1;      92051104 
00001600           END ELSE BEGIN                                                92051105 
00001700             REPLACE ITEMPTR BY VAL.[CHARSIZE:48] FOR 1;                 92051110 
00001800           END                                                           92051114 
00001900 $# PATCH 019 REMOVE BUG CONCERNING REWRITE ON DISK FILES                         
00002000  $VERSION 30.019                                                        90000100 
00002100   IF STATUS=RESET THEN REWIND(F)                                        91801000 
00002200   ELSE BEGIN                                                            91801100 
00002300     F.OPEN := FALSE;                                                    91801110 
00002400     IF (F.KIND=1 OR F.KIND=17) THEN F.LASTRECORD:=-1;                   91801120 
00002500   END;                                                                  91801130 
00002600 $# PATCH 020 FIX BUG CONCERNING WRITE NEGATIVE REAL                              
00002700  $VERSION 30.020                                                        90000100 
00002800       IF J:=ABSVAL MOD 1*POTL[SUBFIELD] GEQ POTL[SUBFIELD] THEN         92207000 
00002900 $# PATCH 022 CORRECT OUTPUT OF F.PT. NOS. CLOSE TO POWERS OF 10                  
00003000  $VERSION 30.022                                                        90000100 
00003100          IF ABSVAL GEQ 10.0 THEN BEGIN ABSVAL:=1; EXPONENT:=*+1 END;    92189100 
00003200 $                                                                       92192000 
00003300        IF I GEQ 10 THEN BEGIN I:= 1; EXPONENT:=*+1; END;                92195300 
00003400        LENGTH:=DIGITSIN(ABS(EXPONENT));                                 92195400 
00003500 $# PATCH 051 REMOVES USE OF OBSOLETE REAL(POINTER)                               
00003600  $VERSION 30.051                                                        90000100 
00003700 DEFINE              CHARSIZE            =(SIZE(ITEMPTR)-1)#;            91844100 
00003800 $# PATCH 067 JOBSYMBOL TYPE FILES WERE NOT READ CORRECTLY                        
00003900  $VERSION 30.067                                                        90000100 
00004000                  IF F.FILEKIND=VALUE(JOBSYMBOL) THEN 80 ELSE            91815100 
00004100 $# PATCH 078 DISALLOW -VE MOD DIVISOR (PATCH #1 FROM V3.1.000)                   
00004200  $VERSION 30.078                                                        90000100 
00004300         " NEGATIVE MOD DIVISOR.  ",   %6                                90048500 
00004400   REAL ARRAY ERRMSG[0:6];                                               90051000 